package com.info33.platform.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.info33.platform.common.mvc.vo.Result;
import com.info33.platform.system.dto.SysDeptDTO;
import com.info33.platform.system.entity.SysDept;
import com.info33.platform.system.vo.SysDeptVO;
import com.info33.platform.system.vo.SysUserVO;

/**
 * @author admin
 */
public interface SysDeptService extends IService<SysDept> {

    /**
     * pc - 删除
     *
     * @param id -
     * @return -
     */
    Result<Object> pcRemove(Long id);

    /**
     * pc - 树结构
     *
     * @param dto         入参
     * @param currentUser -
     * @return -
     */
    Result<SysDeptVO> pcTree(SysDeptDTO dto, SysUserVO currentUser);

    /**
     * 创建部门
     *
     * @param name        部门名称
     * @param userId      负责人 id
     * @param currentUser 当前用户
     * @return 部门 id
     */
    Long createDept(String name, Long userId, SysUserVO currentUser);
}